﻿using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.ComponentModel;
using System.Collections.Generic;

public class FunctionalRequirement
{
    private int _iId;
    private String _sName;
    private String _sDescription;
    private String _sJustification;
    private int _iSource;
    private String _sAcceptanceCriteria;
    private int _iPriority;
    private int _iState;
    private DateTime _dStartingDate;
    private DateTime _dConclucionDate;
    private float _fEffort;
    private int _iIdFather;
    private bool _bReusable;
    private int _iIdProject;
    private List<Conflicts> _lConflicts;

    public FunctionalRequirement()
    {
        this._lConflicts = new List<Conflicts>();
    }

    public FunctionalRequirement(int iId, String sName, String sDescription, String sJustification, int iSource, String sAcceptanceCriteria, int iPriority, int iState, DateTime dStartingDate, DateTime dConclucionDate, float fEffort, int iIdFather, bool bReusable, int iIdProject)
    {
        this.iId = iId;
        this.sName = sName;
        this.sDescription = sDescription;
        this.sJustification = sJustification;
        this.iSource = iSource;
        this.sAcceptanceCriteria = sAcceptanceCriteria;
        this.iPriority = iPriority;
        this.iState = iState;
        this.dStartingDate = dStartingDate;
        this.dConclucionDate = dConclucionDate;
        this.fEffort = fEffort;
        this.iIdFather = iIdFather;
        this.bReusable = bReusable;
        this.iIdProject = iIdProject;
        this._lConflicts = new List<Conflicts>();
    }

    public FunctionalRequirement(String sName, String sDescription, String sJustification, int iSource, String sAcceptanceCriteria, int iPriority, int iState, DateTime dStartingDate, DateTime dConclucionDate, float fEffort, int iIdFather, bool bReusable, int iIdProject)
    {
        this.sName = sName;
        this.sDescription = sDescription;
        this.sJustification = sJustification;
        this.iSource = iSource;
        this.sAcceptanceCriteria = sAcceptanceCriteria;
        this.iPriority = iPriority;
        this.iState = iState;
        this.dStartingDate = dStartingDate;
        this.dConclucionDate = dConclucionDate;
        this.fEffort = fEffort;
        this.iIdFather = iIdFather;
        this.bReusable = bReusable;
        this.iIdProject = iIdProject;
        this._lConflicts = new List<Conflicts>();
    }

    public int iId
    {
        get
        {
            return _iId;
        }
        set
        {
            _iId = value;
        }
    }

    public string sName
    {
        get
        {
            return _sName;
        }
        set
        {
            _sName = value;
        }
    }

    public string sDescription
    {
        get
        {
            return _sDescription;
        }
        set
        {
            _sDescription = value;
        }
    }

    public string sJustification
    {
        get
        {
            return _sJustification;
        }
        set
        {
            _sJustification = value;
        }
    }

    public int iSource
    {
        get
        {
            return _iSource;
        }
        set
        {
            _iSource = value;
        }
    }

    public string sAcceptanceCriteria
    {
        get
        {
            return _sAcceptanceCriteria;
        }
        set
        {
            _sAcceptanceCriteria = value;
        }
    }

    public int iPriority
    {
        get
        {
            return _iPriority;
        }
        set
        {
            _iPriority = value;
        }
    }

    public int iState
    {
        get
        {
            return _iState;
        }
        set
        {
            _iState = value;
        }
    }

    public DateTime dStartingDate
    {
        get
        {
            return _dStartingDate;
        }
        set
        {
            _dStartingDate = value;
        }
    }

    public DateTime dConclucionDate
    {
        get
        {
            return _dConclucionDate;
        }
        set
        {
            _dConclucionDate = value;
        }
    }

    public float fEffort
    {
        get
        {
            return _fEffort;
        }
        set
        {
            _fEffort = value;
        }
    }

    public int iIdFather
    {
        get
        {
            return _iIdFather;
        }
        set
        {
            _iIdFather = value;
        }
    }

    public bool bReusable
    {
        get
        {
            return _bReusable;
        }
        set
        {
            _bReusable = value;
        }
    }

    public int iIdProject
    {
        get
        {
            return _iIdProject;
        }
        set
        {
            _iIdProject = value;
        }
    }

    public List<Conflicts> lConflicts
    {
        get
        {
            return _lConflicts;
        }
        set
        {
            lConflicts = value;
        }
    }
}
